#ifndef __OLED_H__
#define __OLED_H__

extern const uint8_t OLED_F8x16[][16];
extern const uint8_t OLED_F6x8[][6];
typedef struct 
{
	char Index[4];
	uint8_t Data[32];
} ChineseCell_t;
extern const ChineseCell_t OLED_CF16x16[];
extern const uint8_t Diode[];
extern u8 OLED_DisplayBuf[8][128];

/*初始化函数*/
void OLED_Init(void);

/*清屏函数*/
void OLED_Clear(void);
void OLED_ClearArea(int16_t X, int16_t Y, uint8_t Width, uint8_t Height);

/*更新函数*/
void OLED_UpData(void);

void OLED_WriteCommand(u8 Command);
void OLED_WriteData(u8 *Data, u8 Count);
void OLED_SetCursor(u8 X, u8 Page);

void OLED_ShowChar(u8 X, u8 Y, char Char, uint8_t FontSize);
void OLED_ShowString(u8 X, u8 Y, char *String, uint8_t FontSize);
void OLED_ShowImage(u8 X, u8 Y,	uint8_t Width, uint8_t Height, const uint8_t *Image);
void OLED_ShowChinese(u8 X, u8 Y, char *Chinese);

/*绘图函数*/
void OLED_DrawPoint(int16_t X, int16_t Y);
uint8_t OLED_GetPoint(int16_t X, int16_t Y);

#endif
